<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Minimal, Complete, and Extensible</title>
<meta name="uma.type" content="SupportingMaterial">
<meta name="uma.name" content="minimal_complete_extensible">
<meta name="uma.presentationName" content="Minimal, Complete, and Extensible">
<meta name="element_type" content="other">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_xKvXkMn8EdyuBO4ZIzcyig"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Minimal, Complete, and Extensible</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../publish.openup.base/guidances/supportingmaterials/resources/micL.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">OpenUP is minimal, complete, and extensible. It's the minimum amount of process for a small team. It can be used as-is or extended and customized for specific purposes.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><h3>
    Introduction
</h3>
<p>
    A good way to understand OpenUP is to think of it as targeted to teams that have the following objectives:
</p>
<ul>
    <li>
        Apply the minimally necessary process that brings value.
    </li>
    <li>
        Avoid being overloaded with unproductive formal work products.
    </li>
    <li>
        Use a process that can be tailored and extended for additional needs that may arise during the software development
        lifecycle.
    </li>
</ul>
<p>
    In order to be applied to as many project environments as possible, OpenUP is a process that has the following
    characteristics:
</p>
<ul>
    <li>
        Minimal - only fundamental content is included
    </li>
    <li>
        Complete - it can be manifested as an entire process to build a system
    </li>
    <li>
        Extensible - it can be used as a foundation on which process content can be added or tailored as needed
    </li>
</ul>
<h4>
    Minimal
</h4>
<p>
    OpenUP is considered an agile, lightweight process that promotes software development best practices such as:
</p>
<ul>
    <li>
        iterative development
    </li>
    <li>
        team collaboration
    </li>
    <li>
        continuous integration and tests
    </li>
    <li>
        frequent deliveries of working software
    </li>
    <li>
        adaptation to changes, and so on.
    </li>
</ul>
<p>
    Other factors also count when determining the size of process material, such as the number of method elements like
    roles, tasks, artifacts and guidance.
</p>
<p>
    OpenUP provides descriptions of responsibilities, skills and competencies of the fundamental roles in a team. See the
    list of <a class="elementLink" href="./../../../core.default.nav_view.base/customcategories/role_list_4C636D88.html" guid="_WCIHZMRdEdyD76CYS6Ta7A">Roles</a>&nbsp;for more details.
</p>
<p>
    OpenUP provides the essential artifacts needed to capture and communicate decisions. Ultimately, the process is not
    governed by artifact creation. For example, thinking about design is more important than documenting the design;
    assessing and planning an iteration is about promoting team collaboration instead of creating plans that are written in
    stone. In addition, for each artifact, OpenUP suggests informal representations or provides informal templates as
    starting points for teams that do not need to create their own. The team decides what the most appropriate form to be
    applied is. See the list of <a class="elementLink" href="./../../../core.default.nav_view.base/customcategories/work_products_FB13601A.html" guid="__O1Y8MRgEdyD76CYS6Ta7A">Work Products</a>&nbsp;organized by domains.
</p>
<p>
    Tasks in OpenUP are clear and focused on results. Text is usually short and objective, describing how individuals
    should collaborate to achieve objectives. Steps are short descriptions of what to achieve, and point to external
    guidance on how to do it. See the list of&nbsp;<a class="elementLink" href="./../../../core.default.nav_view.base/customcategories/tasks_E310E5A5.html" guid="_CXQicMRhEdyD76CYS6Ta7A">Tasks</a>&nbsp;organized by disciplines.
</p>
<p>
    OpenUP recommends the least amount of process guidance a team should use in order to be successful. Teams may have
    different names or responsibilities for roles, may perform tasks in or have different representations for artifacts,
    but they still want to follow the principles and practices described in OpenUP to increase the chances of project
    success.
</p>
<h4>
    Complete
</h4>
<p>
    OpenUP is considered a complete process because it covers the essential disciplines in a software development lifecycle
    by guiding the team in the following high level activities:
</p>
<ul>
    <li>
        Customer needs and requirements are elicited and captured, with continuous customer involvement.
    </li>
    <li>
        A robust architecture for the system is evolved, addressing technical risks and promoting team organization.
    </li>
    <li>
        For each requirement, a technical solution is designed, implemented and tested, which conforms to the architectural
        decisions.
    </li>
    <li>
        The system is evaluated by tests that validate customer requirements.
    </li>
    <li>
        Defects and enhancements feed back into development.
    </li>
    <li>
        Work is prioritized, iterations are planned and assessed, and team members take on work to be done.
    </li>
</ul>
<p>
    However, OpenUP assumes that the project team is not responsible for certain activities and decisions that are assigned
    to other areas of the organization, such as:
</p>
<ul>
    <li>
        Creation of the business case is dealt with by management who decides whether or not the project is worth investing
        in, what is the return on investment, and so on.
    </li>
    <li>
        Environment setup - some organizational issues may not be in the scope of the team, such as: installation,
        configuration and licensing of development tools and configuration management tools; development process
        customization and publishing, etc.
    </li>
    <li>
        Deployment and operation - addressed at an organizational rather than a team level.
    </li>
</ul>
<p>
    Other areas of concern are also not present in OpenUP, because small teams do not need to deal with the formality or
    overhead of these areas. They include, but are not limited to:
</p>
<ul>
    <li>
        Advanced configuration management
    </li>
    <li>
        Advanced requirements management
    </li>
    <li>
        Program and portfolio management
    </li>
</ul>
<h4>
    Extensible
</h4>
<p>
    OpenUP can be adopted by projects as it is, out-of-the-box, because it's minimal and complete.
</p>
<p>
    However, different projects may have different needs. Organizations may be interested in customizing some aspects of
    OpenUP to adapt it to their projects. These are some examples of possible customization:
</p>
<ul>
    <li>
        Add new or rename existing roles
    </li>
    <li>
        Add steps to existing tasks
    </li>
    <li>
        Create new guidelines on a given technique
    </li>
    <li>
        Remove a given content area
    </li>
    <li>
        Modify existing or add new templates to artifacts
    </li>
    <li>
        Modify or create a new process lifecycle
    </li>
    <li>
        Add or remove process content
    </li>
    <li>
        Add guidance on how to achieve compliance
    </li>
    <li>
        Add guidance specific to a technology being used
    </li>
    <li>
        Replace or augment&nbsp;one of the layers with new&nbsp;content (e.g. by changing&nbsp;or adding material to how
        management is performed)
    </li>
    <li>
        Etc.
    </li>
</ul>
<p>
    OpenUP can be customized and extended by using the EPF Composer tool, which allows you to author, configure and publish
    methods. With EPF Composer, you can add, remove and change elements according to your team needs, then publish the
    content to serve as guidance for your team.
</p>
<p>
    See more information about customization in <a class="elementLinkWithType" href="./../../../core.default.tool_def.base/guidances/supportingmaterials/resources_for_customizing_methods_7663A1A6.html" guid="_omneEMX4EduywMSzPTUUwA">Supporting Material: Resources for Customizing Methods</a>.
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
